Introduction to Version 1.4

This directory contains several documents related to a Capabilities Seminar that was developed by Dan McCreary with the assistance and encouragement of Greg Smedsrud, Dave Stutz, Laurn Warburg and Charlie Oei.

This seminar is designed to introduce concepts of object oriented programming and the NextStep environment to faculty developing courseware.

I am glad to share this and any of the materials that I have developed with other SEs as long as you agree to give me feedback on what needs work.

Version 1.4 includes a text that can be used with the materials.

I strongly recommend that you use the class evaluation forms (see the Docs directory).  The best way for me to assure quality is by insisting that everyone who takes the class fills out a class evaluation.  I often start out with the following joke: "We usually change several thousand dollars per person for this class, but if everyone promises to do an evaluation I will do it for free".

I have also found that it helps to hand out the evaluation before the class starts to  make them remember what they liked and what they didn't like.

I think that it is very important that we continue to use Statistical Quality Control (SQC) methods to continually improve our presentations.

Please direct any feedback on these class materials to Dan McCreary, email mccreary@next.com, voice mail x4778 (outside 412-780-2778).

Thanks you for your interest. - Dan

Class Description

NeXT has introduced a new application development environment called NextStep which reduces the amount of time and effort required to write software programs.  In this session programmers, developers, and designers will learn to understand some of the capabilities of object-oriented design methods and how they are applied within the NextStep environment. A thorough examination of the March 1989 Byte articles would help in preparation for this session.

Directory Contents

	00_READ_ME - this file

	Book - text book under development

	Cookbook - Recipes for creating several small programs.  See the 	00_README file in that directory for more details.

	Docs - contains class descriptions, class evaluations, posters, 	programmer's notes and references.

    ViewGraphs - Copies of overhead transparencies

	Stepstone_Tutorial - direct from the Stepstone manual.  I typed it in 	by hand.  I was very surprised to see it included in the 0.9 Tech Doc.

     Figures - Draw figures used in Overheads.  Can be modified and pasted into your own WriteNow files.

History

When I first attended Developer's class, I was amazed at how easy it was to do very complicated things with the NextStep environment.  I felt that there must be some way I could explain it to our customers.  If they only understood how easy it was to create really great applications they would all be excellent reference accounts.  My conversations with Greg affirmed that one of the best ways to sell a product is to exploit its uniqueness.  Since others will be announcing their OOP environment in the near future, we must do this now.  Our market window will not last forever!

I was assisted and encouraged by Dave Stutz.  He has expanded his own version of this seminar to include a more detailed discussion of Display Postscript.  His notes are included.

For materials, I started out with the March 1989 Byte Articles.  If you can get the seminar organizers to make the articles suggested readings it will help.  I added things from the developers class notes as well as things from Brad Cox's book.  All of them are listed as references. 

Seminar Structure

Although our first class was targeted at experienced programmers, we found that more than two thirds of our audience consisted of non-programmers that just wanted to find out what someone could do on the NeXT.  Because of this I have attempted at breaking up the class into three sections, each of which gets increasingly technical.  Each section lasts approximately 50 minutes with a 10 minute break.  Each of the three sessions gets slightly more technical, and they are modular enough that you can break the three hour class up and target it at different audiences.

Relationship to Developers Class

This is not a replacement for developers class.  I try to make this very clear at the beginning of the class.  Its purpose is to give people a feeling of the potential of the system.  One of the most important things that we do in this class is try to encourage more people to attend developers class.  Many schools have found access to the developers class handouts enough to start sending people.

Class Outline

First hour - for a general audiences (little programming backgroud necessary):

	What is object oriented programming?
	Encapsulation
	Inheritance
	Messaging
	Dynamic Binding
	Summary and References

Second hour - for novice programmers

	Event based programming
	Syntax of Objective C
	Stepstone Fruit Example (optional)
	Tour of the Interface Builder
	Project Management

Third hour - for experienced programmers

	Creating a "View" sub-class
	Drawing into a view
	Adding instance variables to objects
	Adding controls to change instance variables
	Using Open, Font, Copy etc
	Finishing a complete application